Many enterprises are transitioning to a network arrangement in which computing resources of central servers are provided to local computers at which users are located. The computing resources (e.g., software applications, processing resources, storage resources, etc.) that are centralized at one or more central servers can be selectively allocated to a session established by a user at a local computer.
Protocols are provided to enable a user at a local computer to access and share the desktop of a remote computer (e.g., a central server) over a computer network. One such protocol is the Remote Desktop Protocol (RDP), as provided by Microsoft Corporation, to provide remote display and input capabilities over network connections. Another protocol that can be used is the Remote Graphics Software (RGS) protocol from the Hewlett Packard Co. RGS is designed to take full advantage of the computer and graphics resources of a remote computer to deliver interactive remote access at the local computer. The desktop video data of the remote computer is transmitted over the network to the local computer, which displays the desktop video data locally in a window at the local computer. RGS is designed to provide fast capture, compression, and transmission of a desktop video data over a network. RGS also allows audio data to be sent from the remote computer to the local computer for output on an audio device of the local computer. RGS also captures user keyboard and mouse inputs at the local computer, and sends the keyboard and mouse inputs to the remote computer for processing by the operating system of the remote computer, and by applications running on the remote computer. RGS also allows data of other peripheral devices (e.g., such as storage devices) to be communicated from the local computer to the remote computer.
Certain peripheral devices such as storage devices (e.g., hard disk drives, optical disk drives, etc.) attached to the local computer are considered “bulk devices” since these devices can potentially transfer a relatively large volume of data (“bulk data”) in a single transfer operation.
Transferring bulk data over the network from a local computer to a remote computer consumes a relatively large portion of the available bandwidth of the network between the local computer and remote computer. As a result, when a bulk data transfer operation is occurring, the amount of remaining network bandwidth available to sending video and/or audio data from the remote computer to the local computer is reduced, which may adversely affect the user experience in viewing video data or listening to audio data at the local computer.